<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JavaScript 类继承-getter 和 setter</title>
</head>

<body>
    <!-- 类中我们可以使用 getter 和 setter 来获取和设置值，getter 和 setter 都需要在严格模式下执行。
    getter 和 setter 可以使得我们对属性的操作变的很灵活。
    类中添加 getter 和 setter 使用的是 get 和 set 关键字。 -->

    <!-- 实例为 sitename 属性创建 getter 和 setter -->
    <h2>JavaScript Class Gettter/Setter</h2>

    <p>类中添加 getter 和 setter 使用的是 get 和 set 关键字。</p>

    <p id="demo"></p>

    <script>
        class Runoob {
            constructor(name) {
                this.sitename = name;
            }
            get s_name() {
                return this.sitename;
            }
            set s_name(x) {
                this.sitename = x;
            }
        }

        let noob = new Runoob("菜鸟教程");

        document.getElementById("demo").innerHTML = noob.s_name;
    </script>

    <!-- 注意：即使 getter 是一个方法，当你想获取属性值时也不要使用括号。
    getter/setter 方法的名称不能与属性的名称相同，在本例中属名为 sitename。 -->
</body>

</html>